Telegram Group & Telegram Channel
Note # 28 fallthrough или “проваливаемся” дальше ⤵️
Go содержит интересное ключевое слово fallthrough, которое на практике встречается довольно редко, его главная задача передать управление следующему оператору case в условных конструкциях switch/case.
Итак поехали 🚴‍♂️:
func main() {
switch 42 {
case 42:
fmt.Println("First case: 42!")
fallthrough
default:
fmt.Println("Second case")
}
}
// First case: 42!
// Second case

Т.е по дефолту в Go switch/case не проваливается дальше - это нужно делать явно используя ключевое слово fallthrough.

Не разрешается использовать в последнем операторе неважно это case или default:
func main() {
switch 42 {
case 42:
fmt.Println("First case: 42!")
default:
fmt.Println("Second case")
fallthrough
}
}
// cannot fallthrough final case in switch

Соответственно такой вариант вполне валидный:
func main() {
switch 42 {
default:
fmt.Println("Second case")
fallthrough
case 42:
fmt.Println("First case: 42!")
}
}
// First case: 42!

Важный момент, "fallthrough" не разрешается использовать в связке с type switch:
func main() {
var pi interface{} = 3.14
switch i := pi.(type) {
case int:
fmt.Printf("%v", i)
fallthrough
default:
fmt.Println("don't know the type")
}
}
// ./prog.go:18:3: cannot fallthrough in type switch

Так же нельзя делать вложенные конструкции которые содержат fallthrough ☔️:
func main() {
switch 42 {
case 42:
fmt.Println("First case: 42!")
if true {
fallthrough
}
case 1:
fmt.Println("First case: 1!")
}
}
// ./prog.go:18:4: fallthrough statement out of place


Useful links:
- ref - https://golang.org/ref/spec#Switch_statements
- wiki https://github.com/golang/go/wiki/Switch



tg-me.com/golang_for_two/53
Create:
Last Update:

Note # 28 fallthrough или “проваливаемся” дальше ⤵️
Go содержит интересное ключевое слово fallthrough, которое на практике встречается довольно редко, его главная задача передать управление следующему оператору case в условных конструкциях switch/case.
Итак поехали 🚴‍♂️:

func main() {
switch 42 {
case 42:
fmt.Println("First case: 42!")
fallthrough
default:
fmt.Println("Second case")
}
}
// First case: 42!
// Second case

Т.е по дефолту в Go switch/case не проваливается дальше - это нужно делать явно используя ключевое слово fallthrough.

Не разрешается использовать в последнем операторе неважно это case или default:
func main() {
switch 42 {
case 42:
fmt.Println("First case: 42!")
default:
fmt.Println("Second case")
fallthrough
}
}
// cannot fallthrough final case in switch

Соответственно такой вариант вполне валидный:
func main() {
switch 42 {
default:
fmt.Println("Second case")
fallthrough
case 42:
fmt.Println("First case: 42!")
}
}
// First case: 42!

Важный момент, "fallthrough" не разрешается использовать в связке с type switch:
func main() {
var pi interface{} = 3.14
switch i := pi.(type) {
case int:
fmt.Printf("%v", i)
fallthrough
default:
fmt.Println("don't know the type")
}
}
// ./prog.go:18:3: cannot fallthrough in type switch

Так же нельзя делать вложенные конструкции которые содержат fallthrough ☔️:
func main() {
switch 42 {
case 42:
fmt.Println("First case: 42!")
if true {
fallthrough
}
case 1:
fmt.Println("First case: 1!")
}
}
// ./prog.go:18:4: fallthrough statement out of place


Useful links:
- ref - https://golang.org/ref/spec#Switch_statements
- wiki https://github.com/golang/go/wiki/Switch

BY 🇺🇦 Go for two :)


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/golang_for_two/53

View MORE
Open in Telegram


🇺🇦 Go на двоих Telegram | DID YOU KNOW?

Date: |

That strategy is the acquisition of a value-priced company by a growth company. Using the growth company's higher-priced stock for the acquisition can produce outsized revenue and earnings growth. Even better is the use of cash, particularly in a growth period when financial aggressiveness is accepted and even positively viewed.he key public rationale behind this strategy is synergy - the 1+1=3 view. In many cases, synergy does occur and is valuable. However, in other cases, particularly as the strategy gains popularity, it doesn't. Joining two different organizations, workforces and cultures is a challenge. Simply putting two separate organizations together necessarily creates disruptions and conflicts that can undermine both operations.

🇺🇦 Go на двоих from us


Telegram 🇺🇦 Go for two :)
FROM USA